range: Don't leak pointers to discarded gadgets
authorBenjamin Otte <otte@redhat.com>
Tue, 8 Nov 2016 01:24:40 +0000 (02:24 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 8 Nov 2016 01:32:40 +0000 (02:32 +0100)
gtk/gtkrange.c

index e260d7b861da4e38a0759b12226b78cb58ae8ff6..5b1f2dcb73efdf70155f213676d3bd56618e2452 100644 (file)
@@ -3729,6 +3729,10 @@ sync_stepper_gadget (GtkRange                *range,
     {
       if (*gadget_ptr != NULL)
         {
+          if (*gadget_ptr == priv->grab_location)
+            stop_scrolling (range);
+          if (*gadget_ptr == priv->mouse_location)
+            priv->mouse_location = NULL;
           gtk_css_node_set_parent (gtk_css_gadget_get_node (*gadget_ptr), NULL);
           gtk_box_gadget_remove_gadget (GTK_BOX_GADGET (priv->contents_gadget), *gadget_ptr);
         }